#集合set

#创建一个空的集合要用set()
#集合是不重复的无序的，可以用｛｝或set来表示
#区别：    如果{}放的是键值对，那么他就是一个字典
#          如果{}放的是单个的值，那么他是一个集合

#如果集合里有重复的数据，会自动去除

names = {'zhangsan','lisi','jack','tony','jack','lisi'}
print(names)

#增加
names.add('wangwu')
print(names)
#删除
#names.clear()#清空集合
#print(names)  #空集合用set()表示

names.pop()#随机删除一个
print(names)

names.remove('jack')#删除指定的元素，没有改该元素会报错
print(names)

#合并多个集合，生成一个新的集合
print(names.union({'0528','1201'}))

#A.update(B)将B拼接到A里
names.update({'zhang_day','tang_day'})
print(names)

#in可以用来查询是否在集合内
print('jack'in names)

#集合无法查询，只能用in查看是否在集合里


#集合的高级使用

#set不支持加法，但可以用减法，得到不重复的     A-B         
#求相同的可以用&                               A&B         交
#求并集                                        A|B         并
#     求Cu(A&B)                                A^B 


#转换相关的方法        list tuple    set
nums = [9,8,4,3,2,1]
x = tuple(nums)     #使用tuple内置类转换成为元组
print(x)

y = set(nums)       #使用set内置类转换成为集合
print(y)

z = list({'name':'zhangsan','age':18,'score':18})
print(z)


#python里的一个强大的内置函数，可以执行字符串里面的代码

#eval
a = 'input("请输入您的用户名")'     #a是一个字符串
b = '1+1'
print(eval(b))      


#json的使用，将列表、元组、字典等转化成json字符串
import json
#json里面只能用双引号
person = {'name':'zhangsan','age':18,'gender':'female'}
#字典如果想要把它传给前端页面或者把字典写入到一个文件里

m = json.dumps(person)#这里m是字符串
print(m)        #{"name": "zhangsan", "age": 18, "gender": "female"}
print(type(m))  #<class 'str'>

#python             json
#True               true
#False              false
#字符串             字符串
#字典               对象
#列表、元组         数组

print(json.dumps(['hello','good','yes',True]))
print(json.dumps(('hello','good','yes',False)))

n = '{"name": "lisi", "age": 19, "gender": "male"}'
s = json.loads(n)#用loads可以将json字符串转换成python里的数据
print(s)
print(type(s))














